4.1.3 连接到运行中的容器

执行 docker container exec 命令,可以将Shell连接到一个运行中的容器终端。因为之前示例中的容器仍在运行,所以下面的示例会创建到该容器的新连接。

Linux示例如下。

$ docker container exec -it vigilant_borg bash
root@e2b69eeb55cb:/#

示例中的容器名为“vigilant_brog”。读者环境中的容器名称会不同,所以请记得将“vigilant_brog”替换为自己Docker主机上运行中的容器名称或者ID。

Windows示例如下。

> docker container exec -it pensive_hamilton pwsh.exe
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:\>

本例中使用的容器为“pensive_hamilton”。同样,读者环境中的容器名称会不同,所以请记得将“pensive_hamilton”替换为自己Docker主机上运行中的容器名称或者ID。

注意,Shell提示符又发生了变化。此时已登录到了容器内部。

docker container exec 命令的格式是 docker container exec <options> <container-name or container-id> <command/app> 。在示例中,将本地Shell连接到容器是通过 -it 参数实现的。本例中使用名称引用容器,并且告诉Docker运行Bash Shell(在Windows示例中是PowerShell)。使用十六进制ID的方式也可以很容易地引用具体容器。

再次使用 Ctrl-PQ组合键 退出容器。

Shell提示符应当退回到Docker主机中。

再次运行 docker container ls 命令来确认容器仍处于运行状态。

$ docker container ls
CONTAINER ID   IMAGE          COMMAND      CREATED  STATUS    NAMES
e2b69eeb55cb   ubuntu:latest  "/bin/bash"  9 mins   Up 9 min  vigilant_borg

通过 docker container stopdocker container rm 命令来停止并杀死容器。切记需要将示例中的名称/ID替换为读者自己的容器对应的名称和ID。

$ docker container stop vigilant_borg
vigilant_borg
$ docker container rm vigilant_borg
vigilant_borg

通过运行 docker container ls 命令,并指定 -a 参数来确认容器已经被成功删除。添加 -a 的作用是让Docker列出所有容器,甚至包括那些处于停止状态的。

$ docker container ls -a
CONTAINER ID    IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES

results matching ""

    No results matching ""